Object-oriented programming (OOP) can be used to design applications and computer programs based on objects, which are usually instances of a class. The OOP techniques can include features such as data abstraction, encapsulation, messaging, modularity, polymorphism, and inheritance. Each object, which can have a distinct role or responsibility, is capable of receiving messages, processing data, and sending messages to other objects. Additionally, these objects can be closely associated with various actions, or methods. This is the general area that embodiments of the invention are intended to address.